package indi.jp.project.business.jingying.pojo.dto;

import javax.validation.constraints.*;

/**
 * 中标结果DTO
 *
 * @author jiangping
 * @date 2022/6/11
 */
public class BidsResultDTO {

    /**
     * 主键
     */
    @NotBlank(message = "缺少主键")
    private String id;
    /**
     * 项目ID
     */
    @NotBlank(message = "项目ID不能为空")
    private String projectId;
    /**
     * 中标状态（1：中标、2：未中标、3：流标）
     */
    @NotNull(message = "项目状态不能为空")
    private Integer bidState;
    /**
     * 中标结果确认
     */
    private Boolean bidStateConfirmed;
    /**
     * 报价
     */
    @NotBlank(message = "投标报价不能为空")
    @Min(value = 0, message = "投标报价格式不正确，必须为正数并且小数点后最多两位")
    @Digits(integer = 16, fraction = 2, message = "投标报价格式不正确，必须为正数并且小数点后最多两位")
    private String quote;
    /**
     * 中标单位名称
     */
    @NotBlank(message = "中标单位名称不能为空")
    private String bidderName;
    /**
     * 中标单位排名
     */
    @NotBlank(message = "中标单位排名不能为空")
    private String bidderRank;
    /**
     * 中标单位报价
     */
    @NotBlank(message = "中标单位报价不能为空")
    @Min(value = 0, message = "中标单位报价格式不正确，必须为正数并且小数点后最多两位")
    @Digits(integer = 16, fraction = 2, message = "中标单位报价格式不正确，必须为正数并且小数点后最多两位")
    private String bidderQuote;
    /**
     * （中标）中标金额
     */
    @Min(value = 0, message = "中标金额格式不正确，必须为正数并且小数点后最多两位")
    @Digits(integer = 16, fraction = 2, message = "中标金额格式不正确，必须为正数并且小数点后最多两位")
    private String bidPrice;
    /**
     * （中标）暂定金
     */
    @Min(value = 0, message = "暂定金格式不正确，必须为正数并且小数点后最多两位")
    @Digits(integer = 16, fraction = 2, message = "暂定金格式不正确，必须为正数并且小数点后最多两位")
    private String tempDeposit;
    /**
     * （中标）经营性分包金额
     */
    @Min(value = 0, message = "经营性分包金额格式不正确，必须为正数并且小数点后最多两位")
    @Digits(integer = 16, fraction = 2, message = "经营性分包金额格式不正确，必须为正数并且小数点后最多两位")
    private String subcontractFee;
    /**
     * （中标）经营费比例
     */
    @Min(value = 0, message = "经营费比例格式不正确，必须为正数并且小数点后最多两位")
    @Digits(integer = 3, fraction = 2, message = "经营费比例格式不正确，请输入0~100之间的数字")
    private String operationFeeRatio;
    /**
     * （未中标）未中标原因
     */
    private String bidOutReason;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getProjectId() {
        return projectId;
    }

    public void setProjectId(String projectId) {
        this.projectId = projectId;
    }

    public Integer getBidState() {
        return bidState;
    }

    public void setBidState(Integer bidState) {
        this.bidState = bidState;
    }

    public Boolean getBidStateConfirmed() {
        return bidStateConfirmed;
    }

    public void setBidStateConfirmed(Boolean bidStateConfirmed) {
        this.bidStateConfirmed = bidStateConfirmed;
    }

    public String getQuote() {
        return quote;
    }

    public void setQuote(String quote) {
        this.quote = quote;
    }

    public String getBidderName() {
        return bidderName;
    }

    public void setBidderName(String bidderName) {
        this.bidderName = bidderName;
    }

    public String getBidderRank() {
        return bidderRank;
    }

    public void setBidderRank(String bidderRank) {
        this.bidderRank = bidderRank;
    }

    public String getBidderQuote() {
        return bidderQuote;
    }

    public void setBidderQuote(String bidderQuote) {
        this.bidderQuote = bidderQuote;
    }

    public String getBidPrice() {
        return bidPrice;
    }

    public void setBidPrice(String bidPrice) {
        this.bidPrice = bidPrice;
    }

    public String getTempDeposit() {
        return tempDeposit;
    }

    public void setTempDeposit(String tempDeposit) {
        this.tempDeposit = tempDeposit;
    }

    public String getSubcontractFee() {
        return subcontractFee;
    }

    public void setSubcontractFee(String subcontractFee) {
        this.subcontractFee = subcontractFee;
    }

    public String getOperationFeeRatio() {
        return operationFeeRatio;
    }

    public void setOperationFeeRatio(String operationFeeRatio) {
        this.operationFeeRatio = operationFeeRatio;
    }

    public String getBidOutReason() {
        return bidOutReason;
    }

    public void setBidOutReason(String bidOutReason) {
        this.bidOutReason = bidOutReason;
    }
}
